我想将DateTime舍入到最接近的5秒。这是我目前正在做的方式,但我想知道是否有更好或更简洁的方式?DateTimenow=DateTime.Now;intsecond=0;//roundtonearest5secondmarkif(now.Second%5>2.5){//roundupsecond=now.Second+(5-(now.Second%5));}else{//rounddownsecond=now.Second-(now.Second%5);}DateTimerounded=newDateTime(now.Year,now.Month,now.Day,now.Hour
我尝试过使用Math.Round和MidpointRounding。这似乎没有满足我的需要。例子:52.34567roundedto2decimalsUP=52.351.183roundedto2decimalsDOWN=1.18我需要编写自定义函数吗?编辑:我应该更具体一些。有时我需要像23.567这样的数字来向下舍入到23.56。在这种情况下...Math.Round(dec,2,MidpointRounding.AwayFromZero)gives23.57Math.Round(dec,2,MidpointRounding.ToEven)gives23.579位小数可能会出来,需
我尝试过使用Math.Round和MidpointRounding。这似乎没有满足我的需要。例子:52.34567roundedto2decimalsUP=52.351.183roundedto2decimalsDOWN=1.18我需要编写自定义函数吗?编辑:我应该更具体一些。有时我需要像23.567这样的数字来向下舍入到23.56。在这种情况下...Math.Round(dec,2,MidpointRounding.AwayFromZero)gives23.57Math.Round(dec,2,MidpointRounding.ToEven)gives23.579位小数可能会出来,需
我一直在查看与RazorView引擎关联的调试器中的一些代码,我注意到某些类型出现在调试器中,类型名称末尾有一个尾随点字符,例如:{Nancy.ViewEngines.Razor.RazorViewEngine.}有谁知道这是什么意思?在对象上指定强制转换时使用它是无效的语法,所以我很好奇它在调试器中指示的内容。编辑:根据@Damien_The_Unbeliever的要求,调试器中变量的屏幕截图:我正在查看的代码:publicTCompiledViewGetOrAdd(ViewLocationResultviewLocationResult,FuncvalueFactory){TCom
我一直在查看与RazorView引擎关联的调试器中的一些代码,我注意到某些类型出现在调试器中,类型名称末尾有一个尾随点字符,例如:{Nancy.ViewEngines.Razor.RazorViewEngine.}有谁知道这是什么意思?在对象上指定强制转换时使用它是无效的语法,所以我很好奇它在调试器中指示的内容。编辑:根据@Damien_The_Unbeliever的要求,调试器中变量的屏幕截图:我正在查看的代码:publicTCompiledViewGetOrAdd(ViewLocationResultviewLocationResult,FuncvalueFactory){TCom
我注意到C#/.NET中存在以下不一致之处。为什么会这样?Console.WriteLine("{0,-4:#.0}|{1,-4:#.0}",1.04,Math.Round(1.04,1));Console.WriteLine("{0,-4:#.0}|{1,-4:#.0}",1.05,Math.Round(1.05,1));Console.WriteLine("{0,-4:#.0}|{1,-4:#.0}",1.06,Math.Round(1.06,1));Console.WriteLine("{0,-4:#.0}|{1,-4:#.0}",1.14,Math.Round(1.14,1))
我注意到C#/.NET中存在以下不一致之处。为什么会这样?Console.WriteLine("{0,-4:#.0}|{1,-4:#.0}",1.04,Math.Round(1.04,1));Console.WriteLine("{0,-4:#.0}|{1,-4:#.0}",1.05,Math.Round(1.05,1));Console.WriteLine("{0,-4:#.0}|{1,-4:#.0}",1.06,Math.Round(1.06,1));Console.WriteLine("{0,-4:#.0}|{1,-4:#.0}",1.14,Math.Round(1.14,1))
我创建了一个在游戏结束时给出分数的游戏,但问题是这个分数有时是一个小数点后有很多数字的数字(例如87.124563563566)。我将如何向上或向下舍入该值,以便我可以得到类似87.12的值?谢谢! 最佳答案 使用Math.Ceiling(87.124563563566)或Math.Floor(87.124563563566)始终向上或向下舍入。我相信这是最接近的整数。 关于c#-在C#中向上或向下舍入值,我们在StackOverflow上找到一个类似的问题:
我创建了一个在游戏结束时给出分数的游戏,但问题是这个分数有时是一个小数点后有很多数字的数字(例如87.124563563566)。我将如何向上或向下舍入该值,以便我可以得到类似87.12的值?谢谢! 最佳答案 使用Math.Ceiling(87.124563563566)或Math.Floor(87.124563563566)始终向上或向下舍入。我相信这是最接近的整数。 关于c#-在C#中向上或向下舍入值,我们在StackOverflow上找到一个类似的问题:
C#中是否有一种简单的方法可以将小数四舍五入到最接近的四分之一,即x.0、x.25、x.50x.75例如0.21将四舍五入为0.25,5.03将四舍五入为5.0在此先感谢您的帮助。 最佳答案 乘以四,round它是你需要的一个整数,然后再除以四:x=Math.Round(x*4,MidpointRounding.ToEven)/4;舍入的各种选项及其解释可以在这个优秀的答案中找到here:-) 关于c#-在C#中将小数舍入到最接近的四分之一,我们在StackOverflow上找到一个类似